home *** CD-ROM | disk | FTP | other *** search
- fat95 readme file
- $VER: fat95 english information 3.01 (09-Feb-2002)
-
-
- Installation
- ============
-
- * Edit the "install_fat95" text file of your language to see if it matches
- your needs. You can translate your own version, and/or add a code page
- description (see example "russian/install_fat95").
- * Doubleclick that "install_fat95" icon to activate your changes.
- * Doubleclick the "MS0" (internal floppy) or "MS1" example icons to mount now.
- * Copy them into the DEVS:DOSDrivers drawer to auto-mount at system start time.
- * Create your own mount scrips as needed.
-
-
- OS 1.3 specialty
- ================
-
- The mfm.device does not work with V 1.3 trackdisk.device. A suitable equivalent
- is the messydisk.device by Olaf Seibert. It was originally distributed on a
- PD disk called "Time #10" 9 years (!) ago and has now become nearly
- unavailable. Therefore I decided to include it here.
-
- * copy the files "messydisk.device" and "fat95mountlist" into "DEVS:"
-
- Then add this line to your S:Startup-Sequence file:
-
- mount ms0: from fat95mountlist
-
- Use "ms1:" instead of "ms0:" if you want your second floppy drive to work on
- MS-DOS/Win disks.
-
-
- Setup
- =====
-
- New with v2.18: there is only ONE fat95 file now. You can cook your
- own personal version yourself by editing the english/install_fat95 file
- and calling the install95 tool on it. This will store an accordingly modified
- fat95 executable into your L: drawer.
-
- fat95 is installed in the same way as most other alternative filesystems.
- I tried hard to make it quite resistant against wrong or missing mountlist
- parameters. However, these are the important ones:
-
- FileSystem = L:fat95
-
- (or wherever you actually stored it, full path)
-
- StackSize = 4096
-
- (do not use less, you will risk a crash.)
-
- Device = mfm.device
- Unit = 0
- Flags = 0
-
- (which physical drive to use)
-
- MaxTransfer = 0x20000 /* simple IDE harddisk @ A1200 */
-
- (not needed for floppies and ATAPI devices, eg. ZIP)
-
- LowCyl = 0
-
- (or just no "LowCyl" entry at all.)
-
- Buffers = 20 /* DD Floppy */
- Buffers = 40 /* HD Floppy */
- Buffers = 100 /* ZIPs, MOs, ... */
- Buffers = 200 /* harddisks */
-
- (quite useful values. When using excessively deep directory trees,
- you can try some more buffers.)
-
- GlobVec = -1
-
- (this is an assembler program)
-
- Control = "+s"
-
- (forces fat95 into direct SCSI mode rather than trackdisk style.
- May help for certain harddisks > 4 Gbyte.)
-
- And finally, the worst of all ;-)
-
- DosType = 0x464154xx /* "FATx" */
-
- That last byte "xx" serves as the almighty master control.
-
- xx = 00 Choose this for floppies, and for floppies only.
- It activates several special features like trackdisk
- ETD_ commands, and a workaround for some non-mfm.device`s
- that should allow for automatic HD detection now.
-
- xx = 01 The catch-most-of-them universal value. Works with unpartitioned
- media, and will search for for the first FAT partition on
- partitioned media.
-
- If you have more than one FAT12, FAT16 or FAT32 partition on your harddisk,
- we will have to get a bit more detailled. Just try the LINUX style partition
- number:
-
- xx = 01..04 Use "primary" partition of that number.
- "04" would be the exact value for ZIP`s, but "01" should also
- work since the first 3 partition table entries are unused
- on such media normally.
-
- xx = 05..? Use "logical drive in an extended partition". "05" is the first
- logical drive, "06" the second one etc.
-
- You can find some examples in the file of the same name in this dir.
-
-
- General facts
- =============
-
- "fat95" is designed for data exchange with other platforms. This means:
- media must be made 100% PC compatible. Basically, there are 2 ways of achieving
- this:
-
- a) "simple", "unpartitioned"
-
- The whole storage space of the medium is occupied by one single FAT data
- structure. It also implies that there is no AMIGA style partitioning info
- (RDB etc.).
- This method is common on floppies (DD and HD), magneto-optical disks (MO`s),
- and it is - at least in theory - also permitted on ZIP disks.
-
- b) "partitioned"
-
- There must be a valid PC style "master boot record" (MBR) inside the first
- block of the media. fat95 will then evaluate the contained partition table
- to figure out the type, location and size of the FAT data partition.
- This method is required for harddisks. Usually, ZIP media also do it that way,
- although in most cases there will be only one single FAT16 partition spanning
- almost all of the storage space.
- You best set up partitions using adequate PC tools like "fdisk", "xfdisk" or
- "PartitionMagic". These programs normally leave some unused areas between
- partition tables and data partitions. You may then utilize suitable AMIGA
- tools to ADD parallel AMIGA style partitioning info.
- Important: fat95 only looks at the PC style tables. Using only, for example,
- "HDToolBox" will thus NOT WORK.
-
-
- boot95
- ======
-
- Harddisks that were partitioned on a PC often have an unused area of about
- 30 kbytes between the MBR and the first partition. You may now try to bring
- an Amiga style RDSK chain in there to make a bootable fat95 partition.
- First, mount that partition in the usual way, let`s say as PCHD:.
- Then type into a shell
-
- boot95 PCHD:
-
- fat95 is needed in the L: drawer for this unless you specify a different file
- as a second parameter. Simply repeat the procedure to update a fat95 version.
- Caution: existing Amiga partition info will be overwritten!
- Caution again: be sure that your partition is reachable at boot time, i.e.
- within the first 4 Gbytes of a scsi.device disk.
-
- My A1200 already can boot OS 3.9 off a 4 Gbyte FAT32 partition now.
- There are still some obstacles, however. For example, HDToolBox 3.1 has
- problems displaying LBA style partitions. 3.9 works better - as long as you
- don't try to "save the changes"...
-
-
- Special Issues
- ==============
-
- When writing into the root drawer of a fat95 disk, you may get the somewhat
- strange error message 232 "no more entries in directory". This means:
- MS-DOS/Win uses a non-extensible, fixed-size root directory table that can
- only hold a limited number of files and sub-dirs even if there is enough
- space left on the disk itself. In this case, do one of the following:
-
- * store into a sub-directory instead of the root.
- * move one or two files into a sub-directory, then try writing again.
- * delete one or two root files.
- * choose another disk.
-
- Unfortunately, I still cannot fully recommend using the messydisk.device.
- One very annoying fact is that the MOUNT task will hang until the first
- disk change in the appropriate drive is performed. Perhaps this is a race
- condition with trackdisk device since everything works quite well in
- single step debugging mode.
-
- fat95 is now able to recognize NSD (new style device) information and it can
- now make use of Trackdisk64 and/or SCSI direct commands for media > 4 Gbyte
- as well.
-
- Due to several complaints about a disabled "FAT" workbench icon, I decided to
- report volumes intentionally incorrect as type "DOS\0". This will make that
- icon disappear. I hope and prey that this does not encourage any program to
- unqualified direct accessing...
-
-
- FAT32 notes
- ===========
-
- The literally biggest difference compared to the older FAT16 is the so-called
- File Allocation Table, or FAT. It usually covers 1/1024 of the entire
- partition size. These are impressive 8 Mbytes on an 8 Gbyte partition, for
- example. Therefore fat95 does not cache 32bit FAT`s entirely. Access to
- fragmented files will slow down a bit this way while you are saving all that
- precious memory.
-
- The variable storing the currently available free space is another good new
- idea... well, at least in theory. The real world does not always keep
- it up to date. fat95 rather chooses to calculate the free space out of the FAT
- in the old-fashioned way instead. This will take some time directly after
- mounting during which you can only read from the volume
- ("volume is validating").
-
-
- xxxscsi.device hint
- ===================
-
- Most storage devices are controlled by the scsi.device or a similarly
- sounding software module of your controller board.
- Currently, I am using a NEC ZIP100 drive at the internal IDE port of
- my A1200. Unfortunately the original ROM resident scsi.device does not
- like ATAPI hardware at all. It only works with IDE harddisks.
- Therefore I recommend installing an appropriate patch, such as
- IDE_scsidisk or IDEfix. OS3.9 (and probably even 3.5) already comes
- with such a patch.
-
- The "console"
- =============
-
- fat95 doesn`t really support file comments. Reading them returns the extended
- date stamps, and writing them accomplishes nothing.
- Most of the time.
- Just pick a random object of a fat95 disk and assign it the comment
-
- !scandisk
-
- and see what happens...
- This little cheat code is not perfect yet. However, it already does bring back
- those infamous "lost files".
-
-
- Troubleshooting
- ===============
-
- ?: What does the message "object not found" mean when trying to mount
- a fat95 device?
- !: Check the "Device =", "Unit =" and "Flags =" MountList entries.
-
- If nothing seems to help, you can create a dump of the internal fat95
- variables using the included tool "debug95". For example, type into
- a shell:
-
- debug95 ms0: ram:ms0.log
-
- if the internal floppy drive MS0: refuses to work.
- Then send me the just created binary file (about half a kbyte) by email.
- I promise there are no passwords or similar secrets in it.
-
-
- DiskDump
- ========
-
- An old but useful UNIX bicycle, now brand new re-invented for Amiga (not just
- for fat95). Copies a sequence of disk blocks into a file:
-
- dd <name>.device <unit> <dest file> <block number> <count of blocks>
-
- For example, a dump of the first 64 kbytes of my ATAPI ZIP:
-
- dd scsi.device 1 ram:zipdump 0 128
-
- You can also write things back:
-
- dd <src file> <name>.device <unit> <block number> <count of blocks>
-
- Unlike many disk editor programs, this will work even with defective
- partitions. Thus, next time fat95 swallows hard on a new disk, let`s take
- a look at what it was ;)
-
-
- For the specialists...
- ======================
-
- ...here is a list of the supported DOS packets so far:
-
- 0005 ACTION_DIE
- 0007 ACTION_CURRENT_VOLUME
- 0008 ACTION_LOCATE_OBJECT
- 0009 ACTION_RENAME_DISK
- 0015 ACTION_FREE_LOCK
- 0016 ACTION_DELETE_OBJECT
- 0017 ACTION_RENAME_OBJECT
- 0018 ACTION_MORE_CACHE
- 0019 ACTION_COPY_DIR
- 0021 ACTION_SET_PROTECT
- 0022 ACTION_CREATE_DIR
- 0023 ACTION_EXAMINE_OBJECT
- 0024 ACTION_EXAMINE_NEXT
- 0025 ACTION_DISK_INFO
- 0026 ACTION_INFO
- 0027 ACTION_FLUSH
- 0028 ACTION_SET_COMMENT
- 0029 ACTION_PARENT
- 0031 ACTION_INHIBIT
- 0034 ACTION_SET_DATE
- 0082 ACTION_READ
- 0087 ACTION_WRITE
- 1004 ACTION_FINDUPDATE
- 1005 ACTION_FINDINPUT
- 1006 ACTION_FINDOUTPUT
- 1007 ACTION_END
- 1008 ACTION_SEEK
- 1020 ACTION_FORMAT
- 1022 ACTION_SET_FILE_SIZE
- 1023 ACTION_WRITE_PROTECT
- 1026 ACTION_FH_FROM_LOCK
- 1027 ACTION_IS_FILESYSTEM
- 1028 ACTION_CHANGE_MODE
- 1030 ACTION_COPY_DIR_FH
- 1031 ACTION_PARENT_FH
- 1033 ACTION_EXAMINE_ALL
- 1034 ACTION_EXAMINE_FH
- 1035 ACTION_EXAMINE_ALL_END
- 4200 ACTION_SERIALIZE_DISK
- 4201 ACTION_GET_DISK_FSSM
- 4202 ACTION_FREE_DISK_FSSM
-
-
- History
- =======
-
- v1.5 11/1999 first published version
-
- v1.6 12/1999 fixed large partition addressing bug
- added workaround for SID2
- added volume serial number recognition
- added directory optimization
-
- v1.7 01/2000 fixed minor formatting bug
- fixed crash on double-mounted volumes
- made error requesters more informative
- made code reentrant for multi-device use
-
- v1.8 01/2000 added workaround for certain devices who keep
- trashing forbidden 68k registers
-
- v1.11 01/2000 new workarounds for "difficult" devices
- made drawer operations a bit faster
-
- v1.12 01/2000 added on/off feature for ETD_xxx device commands
- added ACTION_SERIALIZE_DISK packet (used by DiskCopy)
- made FAT16 mode writeback faster
- improved disk format recognition
-
- v1.13 02/2000 fixed SERIALIZE_DISK bug
-
- v1.14 02/2000 fixed bug in updating all FAT copies
- alternative english version
-
- v1.15 02/2000 code optimizations
-
- v1.17 02/2000 second published version
- improved FORMAT command support
-
- v1.18 03/2000 first try to implement partition support
-
- v1.19 03/2000 fixed partition selection bug
-
- v1.20 03/2000 introduced separate directory and file caches
- added dummy workbench icon suppression
-
- v1.21 03/2000 made file access cluster-wise
- added diskchange messsages to system (IDCMP_DISKINSERTED...)
-
- v1.22 03/2000 fixed "large sectors" bug (> 512 bytes)
-
- v2.0 04/2000 first try on FAT32
- fixed another "large sectors" bug
-
- v2.1 04/2000 added NSD and TD64 support
- fixed bug on 28bit entries for FAT32
- changed intl character handling for short filenames
- fixed "file creation" timestamp
-
- v2.2 06/2000 new restart validator routines
- longer filenames (65 chars)
- added FAT32 formatting routines
- small write access optimizations
- changed AddBuffers support (like FFS)
- reworked documentation
-
- v2.3 07/2000 added native ExAll() and ExAllEnd()
- added ChangeMode()
- bugfixes:
- ExamineFH()
- OpenFromLock()
- Rename()
- very long path names
- Workbench support
-
- v2.4 07/2000 bugfixes:
- exclusive locks
- double MSDOS 8.3 names
-
- v2.5 07/2000 new buffering scheme (track-wise)
- bugfix:
- free storage space recognition on FAT32
-
- v2.6 07/2000 bugfixes:
- crash when disk is full
- access to inconsistent files
-
- v2.7 08/2000 fixed logigal drive recognition #07+
-
- v2.8 08/2000 added software write protection "Lock"
- added diagnosis tool "fat95debug"
-
- v2.9 09/2000 fixed AddBuffers bug
- ACTION_CURRENT_VOLUME now safer
- made all access trackwise
-
- v2.10 10/2000 now recognizes some more "exotic" partition tables
- added error requester "TD64 needed but missing"
-
- v2.11 12/2000 better FDA compatibility
-
- v2.12 02/2001 added "SCSI direct" command support
-
- v2.13 02/2001 new buffering system
-
- v2.14 03/2001 fixed nasty FAT32 mode bug
-
- v2.15 05/2001 bugfixes:
- crash on filenames >65 chars
- shutdown sequence (ACTION_DIE)
- short name generation
- new:
- "pure" attribute
- error check functions
- boot95
-
- v2.16 08/2001 bugfix: files larger than MaxTransfer
- new: code sharing via FileSystem.resource
-
- v2.17 09/2001 new:
- FAT32 mode now faster
- Amiga reformatted ZIPs now recognized
-
- v2.18 12/2002 new:
- SetFileSize() support
- user defined language support for both dialog and filenames
-
- v2.19 01/2002 new: filenames up to 104 characters long
-
- v3.00 02/2002 added user character set for 8.3 filenames
- FAT32 formatting now uses official cluster sizes
-
- v3.01 02/2002 fixed minor short name bug
- (EOF)
-